18152
9391
Van egy tömböm statsname
alma
x
banán
Y
Kiwi
z
Almát, banánt és Kiwit kell elhelyeznem egy Gyümölcsök tömbben, X, Y és Z pedig egy ábécé nevű tömbben.
Van valami egyszerű C # mechanizmus hozzá? 
Használja az IEnumerable  -t. Ha túlterhelés van, amely az indexet szolgáltatja.
var gyümölcsök = statsname.Where ((s, i) => i% 2 == 0) .ToArray ();
var ábécé = statsname.Where ((s, i) => i% 2! = 0). ToArray ();
|
Ellopták a Hogyan lehet alternatív elemeket kapni a C # számozható segítségével
var gyümölcs = myArray.Where ((t, i) => i% 2 == 0) .ToArray ();
var ábécé = myArray.Where ((t, i) => i% 2 == 1) .ToArray ();
|
Ha megértettem, hogy helyesen kérdezed, amit akarsz, nagyon egyszerű:
A gyümölcsöket gyümölcsök tömbjébe szeretné helyezni, és ábécék esetében is megegyeznek, és ezek alternatív módon jelennek meg a tömb statsname-ben, így:
for (int i = 0, j = 0; i  list = new List  () {"alma", "X", "banán", "Y", "Kiwi", "z"};
var eredmény = lista. Válassza ki ((l, i) => új {l, i})
.GroupBy (p => p.i% 2)
. Válassza ki (x => x. Válassza ki (v => v.l). ToList ())
.ToList ();
Ezután megvan a listák listája:
|
lista  gyümölcs = új lista  ();
list  ábécé = új lista  ();
for (int i = 0; i  everyOther  (IEnumerable  gyűjtemény)
{
a (var e = collection.GetEnumerator ()) használatával
míg (e.MoveNext ()) {
hozam megtérülés e.áram;
e.MoveNext (); // kihagy egy
}
}
}
Az első elem kihagyásához használhatja a System.Linq.Skip alkalmazást.
string [] szavak = "alma X banán Y Kiwi z" .Split ();
var gyümölcs = mindenEgyéb (szavak);
var ábécé = everyOther (szavak.Skip (1));
Csak használja őket új gyűjteményként vagy hívásként .ToArray () vagy .ToList () rajtuk:
foreach (f karakterlánc gyümölcsökben)
Console.WriteLine (f);
string [] anArray = gyümölcs.ToArray (); // a System.Linq segítségével
Most megvan, amire szüksége van.
Az iterátorok olyan módszerek, amelyek hozamot eredményeznek, lásd: Az iterátorok (C # Programozási útmutató). Ez nagyon erős vonása a nyelvnek. Tudsz:
elemek kihagyása
díszíteni elemek
sorrend módosítása
összefűző szekvenciák (lásd: System.Linq.Concat)
...
|
Íme néhány működő kód, remélhetőleg ez hasznos lesz Önnek:
a System használatával;
a System.Collections.Generic segítségével;
a System.IO használatával;
a System.Linq használatával;
a System.Text segítségével;
a System.Threading.Tasks segítségével;
névtér ReadFile
{
osztály Program
{
static void ReadFile (string filePath, List  ügyfélszámok, List  custumersNamesList = új List  ();
List  custumersPhonesNumbers = új List  ();
ReadFile ("SampleFile.txt", custumersNamesList, custumersPhonesNumbers);
// Feltételezve, hogy mindkét lista azonos hosszúságú.
for (int i = 0; i